This invention relates generally to mechanical, electro-mechanical, and computer-based slot-machine-type games of chance.
To play a conventional multi-line slot machine, the player deposits money into the machine, sets the wager, spins the reels, and collects awards for winning symbol combinations appearing on selected pay lines, according to pay schedule. The reel strips are stored in the device's memory as an array of symbol numbers, or similar identifiers,                ReelStrips[NUMREELS][MAXNUMSTOPS]        
Where NUMREELS is constant, typically five or six, representing the number of reel strips, and MAXNUMSTOPS is the maximum of the number of slots per reel strip. Typically the reel strips have different lengths recorded in an array                NumStops[NUMREELS].        
Thus Reel Strips [i][j] stores the number of symbol in slot j on reel number i, for every                I<NUMREELSand        j<NumStops[i].        
For a concrete example, consider a slot machine with 3 reel strips having 5, 6 and 7 slots respectively. The array ReelStrips would look like Array 1:
Array 101030100010101021102110111031100110111022100210121022103210121012100
Where 0 is the first reel strip, 1 is the second reel strip, and 2 is the third reel strip, and 100 represents a certain symbol, for example a bar, 101 represents another symbol, for example a cherry, 102 represents a “7”, 103 represents a bell, and so on. Thus ReelStrips[1][2] would represent a cherry because a cherry is represented by the number 101, and 101 is the number that is found in the array in the position of the second slot of Reel 1.
When a play is initiated, a stop is selected at random for each reel. Then a spinning-reel display is presented to the player. At the end of the play, the spinning ceases with each reel displaying its previously selected stop. The resulting display may be represented as:
         (                                                      ReelStrips              ⁡                              [                0                ]                                      ⁡                          [                              s                ⁡                                  [                  0                  ]                                            ]                                                …                                                    ReelStrips              ⁡                              [                                  N                  -                  1                                ]                                      ⁡                          [                              s                ⁡                                  [                                      N                    -                    1                                    ]                                            ]                                                            ⋮                          ⋱                          ⋮                                                                ReelStrips              ⁡                              [                0                ]                                      ⁡                          [                                                s                  ⁡                                      [                    0                    ]                                                  +                R                -                1                            ]                                                …                                      ReelStrips            [                          N              -                              1                [                                  s                  ⁡                                      [                                          N                      -                      1                      +                      R                      -                      1                                        ]                                                                                            )  
Where R represents the number of rows of the display matrix, N=NUMREELS is the number of reels, and                S[NUMREELS]is an array into which the randomly-generated stops have been entered (in the displayed matrix, indices of the form s[i]+j are taken modulo NumStops[i], for any i<N and j<R). Any path through the R×N display matrix consisting of one symbol for each column may be considered a pay line, and customarily some subset of each pay lines is designated in the context of a particular game (see, for example, U.S. Pat. No. 5,580,053, Crouch, “Multi-Line Gaming Machine”, 3 Dec. 1996).        
To continue with the concrete example above, and assuming the display has two rows, at the start of play to following symbols could be randomly generated.                100 102 103        101 101 101        
When the spinning ceases, the display would be caused to show the symbols corresponding to the symbol numbers above. In this case, the first row would display a bar, a “7”, and a bell, and the second row would display three cherries. If the second row represented an active play line, and three cherries were defined as a winning combination, then the player would win a prize based on the bottom row of the display.
When the player starts the next play, a new array s would be randomly generated and, when the spinning ceased, the corresponding symbols displayed to the player. And so on.
Two properties of this type of play are: (a) the set of reel strips does not change, and (b) each reel stop is selected randomly and independently of each other reel stop. These properties limit the possible player experiences. For example, if each reel strip is diversely populated with symbols. If each reel strip contains, for each symbol, stacks of consecutive slot occupied by that symbol, then a typical screen shot involves the occurrences of stacks of different symbols, rather than stacks of the same symbol, across reels.
Players can suffer from boredom by playing games having various different collections of symbol graphics but all using the same game play methods and awards, casinos suffer from the players' boredom and from their inability to distinguish their games offerings from those of other casinos, and game manufacturers suffer from declining orders inasmuch as They are not able to distinguish their product lines from the product lines of other manufacturers.
U.S. Publication 2008/0,064,477, Fong et al., “Gaming Machine with Random Symbol Selection,” 13 Mar. 2008, disclosed a game system in which a first symbol is selected from a symbol set for display in a top row of a column, then a second symbol is selected from the symbol set for display in the middle row of the same column. The symbol set is modified between selections. For example, after the first symbol is selected, any like symbols are removed from the symbol set before the second symbol is selected, thereby preventing the same symbol from appearing in two consecutive rows of the same column. In similar fashion, the symbol set is again modified after selection of the second symbol by removing any like symbol, and then a third symbol is selected for display in the bottom row of the same column. This technique assures each symbol displayed in any one column will differ from all other symbols displayed in the same column.
U.S. Pat. No. 7,575,514, Cuddy et al., “Gaming Devices Having a Matrix and Symbol Generator”, 18 Aug. 2009, discloses a game system in which the symbols in each of a plurality of groups of symbols are selected sequentially, and any symbol selected more than once may pay an award. For example, a left-hand column might be selected as a first group and then a middle row might be selected as a second group. One symbol lies at the intersection of these two groups, and since that symbol will have been selected twice, the player may receive an award if that one symbol is a symbol that pays.
However, there remains a need for a slot-machine-type game that provides more excitement and variety.